package com.itheima.d6_collection_exception;
import java.util.*;

/**
 * 目标：理解集合的并发修改异常问题，并解决。
 *
 * 迭代器使用的过程中，不能用集合直接增删数据否则会报错。
 */
public class CollectionTest1 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("王麻子");
        list.add("小李子");
        list.add("李爱花");
        list.add("张全蛋");
        list.add("晓李");
        list.add("李玉刚");
        System.out.println(list);
        //  [王麻子, 小李子, 李爱花, 张全蛋, 晓李, 李玉刚]


        // 需求：找出集合中全部带“李”的名字，并从集合中删除。
        for (int i = 0; i < list.size(); i++) {
           if(list.get(i).contains("李")){
               list.remove(i);
               i--;
           }
        }


       /* Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String next = iterator.next();
            list.remove(next);
        }*/
        /*Exception in thread "main" java.util.ConcurrentModificationException
	at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013)
	at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967)
	at com.itheima.d6_collection_exception.CollectionTest1.main(CollectionTest1.java:26)*/
        System.out.println(list);

    }
}
